Available Task: শর্তসাপেক্ষে ফাইল বা ডিরেক্টরি পরীক্ষা করা

Java Technologies - অ্যাপাচি অ্যান্ট টাস্কস (Apache ANT Tasks) কন্ডিশনাল Task |
150
150

Apache Ant একটি ওপেন সোর্স বিল্ড টুল যা বিভিন্ন ধরনের কাজ সম্পাদন করার জন্য ব্যবহৃত হয়। এর মধ্যে একটি শক্তিশালী টাস্ক হল <available> টাস্ক, যা শর্তসাপেক্ষে (conditional) ফাইল বা ডিরেক্টরি উপস্থিতি পরীক্ষা করতে ব্যবহৃত হয়।

<available> টাস্কটি একটি নির্দিষ্ট ফাইল বা ডিরেক্টরি অস্তিত্ব পরীক্ষা করে এবং নির্দিষ্ট প্রপার্টি সেট করতে পারে। এটি বেশ উপকারী যখন আপনি কোনো কাজ বা বিল্ড প্রক্রিয়া চালানোর আগে নিশ্চিত করতে চান যে নির্দিষ্ট ফাইল বা ডিরেক্টরি বিদ্যমান রয়েছে।


Task: ফাইল বা ডিরেক্টরি পরীক্ষা করা

<available> টাস্কটি ব্যবহার করে আপনি একটি নির্দিষ্ট ফাইল বা ডিরেক্টরি পরীক্ষা করতে পারেন। যদি ফাইল বা ডিরেক্টরি উপস্থিত থাকে, এটি একটি প্রপার্টি সেট করবে, যা পরবর্তীতে শর্তসাপেক্ষ কাজগুলিতে ব্যবহার করা যেতে পারে।

Attributes:

  • file: চেক করার জন্য ফাইলের পাথ।
  • dir: চেক করার জন্য ডিরেক্টরির পাথ।
  • property: যদি ফাইল বা ডিরেক্টরি পাওয়া যায়, তাহলে নির্দিষ্ট প্রপার্টি সেট করা হবে।
  • value: (ঐচ্ছিক) আপনি যদি চান, তাহলে একটি কাস্টম মান নির্ধারণ করতে পারেন যা প্রপার্টি সেট হওয়ার সময় সেট হবে।
  • nocreate: যদি ফাইল বা ডিরেক্টরি বিদ্যমান না থাকে, তবে নতুন ফাইল বা ডিরেক্টরি তৈরি না করা হবে।

Task উদাহরণ

উদাহরণ ১: ফাইল উপস্থিতি পরীক্ষা

<project name="FileCheck" default="check-file">

  <target name="check-file">
    <!-- Check if a file exists -->
    <available file="src/main/java/Main.java" property="file.exists"/>
    <echo message="File exists: ${file.exists}"/>
  </target>

</project>

ব্যাখ্যা:

  • <available file="src/main/java/Main.java" টাস্কটি পরীক্ষা করবে যে src/main/java/Main.java ফাইলটি উপস্থিত আছে কিনা।
  • যদি ফাইলটি উপস্থিত থাকে, তখন file.exists প্রপার্টি true সেট হবে, এবং এটি echo টাস্কে প্রদর্শিত হবে।

উদাহরণ ২: ডিরেক্টরি উপস্থিতি পরীক্ষা

<project name="DirectoryCheck" default="check-directory">

  <target name="check-directory">
    <!-- Check if a directory exists -->
    <available dir="build/classes" property="dir.exists"/>
    <echo message="Directory exists: ${dir.exists}"/>
  </target>

</project>

ব্যাখ্যা:

  • <available dir="build/classes" টাস্কটি পরীক্ষা করবে যে build/classes ডিরেক্টরি উপস্থিত আছে কিনা।
  • যদি ডিরেক্টরি উপস্থিত থাকে, তখন dir.exists প্রপার্টি true সেট হবে এবং এটি echo টাস্কে প্রদর্শিত হবে।

Task: শর্তসাপেক্ষ কাজ

<available> টাস্কটি কেবল উপস্থিতি পরীক্ষা করার জন্য নয়, এর মাধ্যমে শর্তসাপেক্ষ কাজও করা যায়। আপনি যদি কোনো নির্দিষ্ট ফাইল বা ডিরেক্টরি উপস্থিতি পরীক্ষা করতে চান এবং তার উপর ভিত্তি করে কিছু কাজ করতে চান, তাহলে <available> টাস্কের মাধ্যমে এটি সহজেই করা সম্ভব।

উদাহরণ ৩: ফাইল বা ডিরেক্টরি অস্তিত্বের উপর ভিত্তি করে কাজ করা

<project name="ConditionalTaskExample" default="conditional-task">

  <target name="conditional-task">
    <!-- Check if a file exists -->
    <available file="build/output.jar" property="output.exists"/>

    <!-- If the file exists, perform task 1 -->
    <target name="task1" if="output.exists">
      <echo message="The output file exists, proceeding with task 1..."/>
    </target>

    <!-- If the file does not exist, perform task 2 -->
    <target name="task2" unless="output.exists">
      <echo message="The output file does not exist, proceeding with task 2..."/>
    </target>

  </target>

</project>

ব্যাখ্যা:

  • প্রথমে, <available file="build/output.jar" টাস্কটি পরীক্ষা করবে build/output.jar ফাইলটি উপস্থিত আছে কিনা।
  • যদি ফাইলটি থাকে, তাহলে task1 টার্গেটটি চলবে এবং একটি মেসেজ প্রদর্শন করবে যে ফাইলটি রয়েছে এবং টাস্ক 1 চলবে।
  • যদি ফাইলটি না থাকে, তাহলে task2 টার্গেটটি চলবে এবং একটি মেসেজ প্রদর্শন করবে যে ফাইলটি উপস্থিত নেই এবং টাস্ক 2 চলবে।

এইভাবে, <available> টাস্কটি শর্তসাপেক্ষভাবে কাজ করে, যা আপনাকে ফাইল বা ডিরেক্টরি উপস্থিতি চেক করে সিদ্ধান্ত নিতে সহায়তা করে।


Additional Attributes:

nocreate: ফাইল বা ডিরেক্টরি না থাকলে এটি নতুন করে তৈরি করবে না।

<available file="build/output.jar" property="output.exists" nocreate="true"/>

value: যদি ফাইল বা ডিরেক্টরি উপস্থিত থাকে, তবে আপনি কাস্টম মান দিতে পারেন যা প্রপার্টিতে সেট হবে।

<available file="build/output.jar" property="output.exists" value="true"/>

Summary

অ্যাপাচি অ্যান্টের <available> টাস্কটি ফাইল বা ডিরেক্টরি উপস্থিতি পরীক্ষা করতে ব্যবহৃত হয় এবং এটি শর্তসাপেক্ষ কাজ বা বিল্ড প্রক্রিয়া পরিচালনায় সহায়তা করে। এটি প্রপার্টি সেট করার মাধ্যমে অন্য টাস্কের কার্যক্রম নিয়ন্ত্রণ করতে সাহায্য করে এবং ফাইল বা ডিরেক্টরি অস্তিত্ব যাচাইয়ের জন্য অত্যন্ত কার্যকরী টাস্ক।

<available> টাস্কটি ফাইল বা ডিরেক্টরি চেক করার সময় if এবং unless অ্যাট্রিবিউট ব্যবহার করে শর্তসাপেক্ষ কাজ করার সুযোগ দেয়, যা একটি বিল্ড স্ক্রিপ্টের মধ্যে আরও নমনীয়তা এবং কার্যকরীতা নিয়ে আসে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion